home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 476-500 / disk_488 / superduper / superduper.doc < prev    next >
Text File  |  1992-05-06  |  24KB  |  518 lines

  1.  
  2.  
  3.  
  4.                               SuperDuper
  5.  
  6.                        © 1991 Sebastiano Vigna
  7.  
  8.  
  9. SuperDuper is a disk copier/formatter that tries to be to disk
  10. handling what Mostra is to IFF displaying:  a fast, compact,
  11. system-friendly tool which couples speed, features, and some bells and
  12. whistles to make your life easier.
  13.  
  14. By "fast" I mean exactly what you're hoping---blazingly fast.  A disk
  15. is copied and verified in about 99s.  Without verify, the time drops
  16. to 70s.  You can buffer a disk in RAM in 36s, and then making a
  17. verified copy takes 67s, while a non-verified copy takes 37s.  Adding
  18. another destination drive increases verified copy times by 34s, but
  19. doesn't increment non-verified copy times at all (the Amiga can write
  20. and step more than one drive at a time).  Thus, if you really trust
  21. your drives and your media you can make four copies in 37s.  These
  22. timings can vary with the system configuration, the multitasking
  23. overhead, the disposition of the blocks on the surface of the disk,
  24. and the DMA access of the custom chips.
  25.  
  26. Main features:
  27.  
  28.  - SuperDuper copies from/to any combination of Amiga drives.
  29.  
  30.  - SuperDuper has a switchable 880K RAM buffer that allows for any
  31. number of duplications while reading the source disk only once.  The
  32. combination of destination drives can be changed at each pass.  If you
  33. haven't enough RAM, but you do have a hard disk, you can create on it
  34. an image file that will act as a buffer.  Also, any kind of virtual
  35. disk is supported for buffering (VD0:, RAD:, FMS:...).
  36.  
  37.  - SuperDuper checksums the RAM buffer.  If some badly written program
  38. is trashing your memory, you are alerted.  Thus, buffered copies are
  39. as safe as direct copies.
  40.  
  41.  - SuperDuper can allocate a buffer of less than 880K:  in this case,
  42. it will use real-time compression in order to do multiple pass copies
  43. with maximum efficiency.  Most disks can be wholly buffered on a 1MB
  44. machine.  You can also make multiple copies with multiple passes.
  45. Copy times are (almost) unaffected.
  46.  
  47.  - SuperDuper will automatically retry tracks which produce a verify
  48. error.  The number of retries is programmable.
  49.  
  50.  - SuperDuper is highly system-friendly---the use of CPU time is
  51. negligible, so you can multitask efficiently.
  52.  
  53.  - SuperDuper has the option of incrementing the creation date of the
  54. copy so AmigaDOS doesn't get confused.  If, however, the option is
  55. switched on and the disk is not an AmigaDOS disk, SuperDuper won't
  56. increment the date.
  57.  
  58.  - SuperDuper is faster than diskcopy---actually it pushes the drives
  59. to their limits.  At the time of this writing, SuperDuper is the
  60. fastest Amiga copier which doesn't tear down the system.
  61.  
  62.  - SuperDuper alerts the user with sound (and optionally voice) about
  63. the operations in progress---so you can really be doing something
  64. else!
  65.  
  66.  - SuperDuper can format both OFS and FFS disks.
  67.  
  68.  - SuperDuper displays a list of the last few disks copied.  If you do
  69. a lot of copying, you'll find this feature much more than useful.
  70.  
  71.  - SuperDuper can manage the Amiga drives without help from the
  72. trackdisk.device.  Through the supplied utility SDBootInstall, you can
  73. create a boot disk which will keep the system away from your drives,
  74. giving you back more than 30K per unit.  This is very useful when
  75. doing intensive buffered copying on a 1M machine.
  76.  
  77.  - SuperDuper can automatically start any copy or format operation by
  78. monitoring the disks extraction and insertion.
  79.  
  80.  - SuperDuper works under 1.2, 1.3 and 2.0
  81.  
  82.  - SuperDuper has an elapsed time indicator.
  83.  
  84.  - SuperDuper has a beautiful name.  8^)
  85.  
  86. To use SuperDuper, you have simply to double-click on its icon.  You
  87. will see five rows of gadgets.  The first one has at most one gadget
  88. selected:  it's the source.  The second one lets you select the
  89. destination drive(s).  The other lines contain option and action
  90. gadgets.
  91.  
  92. Every gadget can be activated via mouse or keyboard.  The first row
  93. can be activated with 0,1,2,3, and the second one with 4,5,6,7.  For
  94. the other gadgets, you can use a capital letter which is usually the
  95. initial, except for FFS ('N') and VDBUF ('U').  As a bonus, you can
  96. use Q or ESC to exit, instead of hitting the close gadget.  Finally,
  97. you can use RETURN instead of G to start a copy/format operation.
  98.  
  99. To make your first copy, simply select in the first line the gadget
  100. for the drive which contains the source floppy, and in the second line
  101. the gadget(s) for the drive(s) containing the destination(s).  Then
  102. hit the GO gadget.  After some time, the display will flash, a beep
  103. will be generated, and the copy will be finished.  The elapsed time
  104. will be shown.  Note that a first beep will be generated when the copy
  105. is almost finished, so you have time to prepare yourself.
  106.  
  107.  
  108.  
  109.  
  110.                           The action gadgets
  111.  
  112. Three gadgets control SuperDuper's copy/format operations:
  113.  
  114.  - STOP stops any operation.  If pressed while the multi-pass
  115. real-time compression buffer is selected and no operation is in
  116. progress, it will empty the buffer and reset the pass count, thus
  117. allowing you to buffer another source even if the previous one wasn't
  118. finished (see the description of the buffering system).
  119.  
  120.  - INBUF can be used only when a buffer is selected; it fills the
  121. buffer by reading from the source drive.
  122.  
  123.  - GO initiates a copy operation.  If no buffer is selected, the
  124. source is copied to the destination(s).  If a buffer is selected, the
  125. content of the buffer is written on the destination(s).  If FORMAT is
  126. selected, the destination drive(s) are formatted.  The corresponding
  127. gadget remains highlighted to remind you what you're doing.
  128.  
  129. When SuperDuper starts a GO operation which is not a format, it
  130. scrolls up the name list and marks the current drive as "<UNKNOWN>".
  131. This happens because it can't know if the disk is a DOS disk before
  132. reading the track 0.  After less than a second, the track will be
  133. read, and the name will be changed to "<NDOS>" if the disk is not a
  134. DOS disk.  Otherwise, as soon as the track 80 is read (the progress
  135. bar is in the middle) the name of the disk will be displayed (and
  136. spoken, if you switched TALK on).  Beware:  if you are using a
  137. multi-pass buffer, the name of the disk could be unavailable at the
  138. first pass.
  139.  
  140. If SuperDuper finds an error on read or verify, it will retry writing
  141. the track, each time incrementing the first number of the Rtry:Err
  142. indicator.  If after a number of retries specified in the gadget
  143. "Try#" the error remains, SuperDuper will increment the second number
  144. (the error counter) and will continue.  Note that while retrying
  145. SuperDuper can't be stopped:  don't set the "Rtry#" gadget to 99
  146. unless you really know that's what you want to do.
  147.  
  148. The progress bar is drawn in a different color if you're doing an
  149. INBUF operation---so you can be sure you read the new chunk in the
  150. buffer.  Note also that the progress bar is not updated if something
  151. locks the screen (like using menus).  The update is delayed until the
  152. screen is unlocked (thus SuperDuper won't get stuck as will almost all
  153. programs which do any rendering to their windows).
  154.  
  155.  
  156.  
  157.  
  158.                            The copy options
  159.  
  160. Four gadgets control the copy/format options.
  161.  
  162.  - VERIFY turns verify on and off (you can also format without
  163. verifying).  However, turning off verify is not recommended.
  164.  
  165.  - DATE toggles on or off the change of the date of an AmigaDOS disk.
  166. This change is necessary so AmigaDOS can distinguish otherwise
  167. identical disks; if two truly identical disks are inserted in the
  168. drives, AmigaDOS gets confused and crashes.  However, if for some
  169. reason you want a "physical" copy, you would turn off this option.
  170. DATE will be ignored for a non-AmigaDOS disk.
  171.  
  172.  - FFS enables the formatting of FFS disks; for copying it is ignored.
  173.  
  174.  - FORMAT enables formatting.  When you hit GO, all destination drives
  175. will be formatted.  To copy again, you must deselect FORMAT by
  176. clicking it again.  If VERIFY is selected, the format process is
  177. verified.
  178.  
  179. The gadget prefixed by "Label:" allows you to choose a name that
  180. SuperDuper will use while formatting.  The name must be chosen before
  181. clicking GO---it is disabled (ghosted) during the formatting.
  182.  
  183.  
  184.  
  185.  
  186.                          The buffering system
  187.  
  188. Three gadgets control the full-featured buffering system of
  189. SuperDuper.  Buffering is useful when you have to do a lot of copies:
  190. you read a disk only once, and then you can make as many copies as you
  191. want without rereading it.  It also has other uses:  if you have to
  192. create distribution disks (for instance for a commercial package) you
  193. can create them using high speed virtual floppies, such as Commodore's
  194. RAD:  or Matt Dillon/Jim Cooper's FMS disk.  SuperDuper can then read
  195. from those virtual disks and make many copies on floppies at high
  196. speed.
  197.  
  198. Since data integrity is a primary issue, SuperDuper checksums the RAM
  199. buffer.  The possibility of writing a munged track is very low.  A
  200. strict control is also kept on the validity of the buffer---you can't
  201. write by error random data on your disks.
  202.  
  203.  - BUFFER allocates a RAM buffer.  SuperDuper will try to get an 880K
  204. buffer:  if you don't have enough memory, a warning will be issued,
  205. showing the number of buffers allocated (each buffer is 11K) and
  206. warning you that the real-time compression system is activated.
  207. Beware of the fact that many program tend to crash under low-memory
  208. conditions, so if you have 1MB or less you should close everything you
  209. can before hitting BUFFER, and you should possibly also use KILLSYS.
  210.  
  211. The memory allocated will be used as a buffer to make multiple pass
  212. copies.  If SuperDuper can find 880K, the process is very simple and
  213. uses very little of the CPU, but if (for instance on a 1MB machine)
  214. it's impossible to buffer a whole disk this way, SuperDuper will use a
  215. real-time compression algorithm.  As the disk is read in the buffer,
  216. it is compressed in a special format.  The gain in size is usually 35%
  217. for empty tracks, 20-30% for text, 15-25% for programs and 5-10% for
  218. IFF ILBM images.  Tracks which can't be compressed are simply stored.
  219. The only disks which can't really be compressed are disks filled with
  220. compressed files, like .lzh or .zoo files, and for the others the size
  221. gain is enough to buffer a whole disk on a 1MB machine.  8^)
  222.  
  223. Of course, the compression overhead eats a lot of CPU power.  The
  224. algorithm has been devised in such a way that compression and
  225. decompression are absolutely real-time, i.e., you will notice no
  226. slowdown.  However, beware of the fact that while doing compression
  227. SuperDuper always fully uses the CPU.  Even moving the mouse can slow
  228. down the operation in progress.  Anyway, if you have all of your
  229. memory allocated for the buffer, it is definitively not a good idea to
  230. do anything besides waiting for the copy to finish.
  231.  
  232. A little side-effect of the allocation of all of the available RAM is
  233. that some requester could be turned into an alert, or could even
  234. disappear without waiting for the user to acknowledge it.
  235.  
  236.  - HDBUF creates an 880K file in the current directory of SuperDuper,
  237. and uses this file as a buffer, exactly like BUFFER does with RAM.  Of
  238. course you must use it only if you have a hard disk, and you started
  239. SuperDuper from it.  The GO operation will be a little slower, but if
  240. you have a good hard disk you should be able to make copies as fast as
  241. with a RAM buffer.
  242.  
  243.  - VDBUF is probably SuperDuper's most esoteric feature.  By typing a
  244. device name in the string gadget near this one, you can select any
  245. device.  The unit number is taken from the gadget with the label
  246. "VD#".  The device you specified will be used as a buffer for your
  247. disks.  SuperDuper expects the device to behave like the
  248. trackdisk.device, namely it must be able to write data at specific
  249. offsets.  The main devices you can use are:
  250.  
  251.  RAD: - the recoverable RAM drive.  Configure it in your mountlist as
  252. a floppy, and you can use it as a buffer.
  253.  FMS: - Matt Dillon/Jim Cooper's virtual floppy-on-hard disk.
  254.  VD0:, etc. - other recoverable, sector-oriented RAM drives
  255.  
  256. The device you specify is checked on opening to see if it has enough
  257. space to contain a full disk.  The check is done simply on the number
  258. of sectors available---if there are enough sectors, and they are
  259. arranged differently than on a floppy, you will be able to use the
  260. device as a buffer, but don't expect AmigaDOS to get anything
  261. meaningful from it.
  262.  
  263. WARNING:  many of these devices are buggy and return NO ERROR on
  264. unsuccessful opening or failed size test.  Some of them in this case
  265. will trash your memory.  Be sure that the device is configured
  266. properly---try first an AmigaDOS command on it.
  267.  
  268. Of course, many people will find incredible ways to use this feature.
  269. For instance, you can send data through the serial.device and write it
  270. directly to a floppy (for techies:  if you want try something like
  271. that, consider that SuperDuper reads 512 bytes on opening to test for
  272. size, and then reads 1760 chunks of 512 bytes, one for each sector,
  273. for every copy.  The sectors are read sequentially as they are
  274. distributed on the disk, so if the device ignores the offset
  275. indication, you can feed it with 880K of a continuous bytes stream.
  276. Buffering is another story though---the offset indication is important
  277. because SuperDuper places the blocks on the device "in the right
  278. place" as soon as it encounters them).
  279.  
  280. A BUFFER or HDBUF is considered non-valid as soon as allocated,
  281. because it will contain random info.  To make it valid, you must read
  282. in a floppy.  VDBUF instead starts with the assumption that the buffer
  283. is valid.
  284.  
  285. This mechanism allows you to prepare, for instance, a distribution
  286. disk at high speed in RAD:  or in your hard disk using FMS:, and then
  287. to copy it to floppies directly.
  288.  
  289.  
  290.  
  291.  
  292.                       The user interface gadgets
  293.  
  294.  - TALK activates SuperDuper's ability to give its status by voice.
  295. Currently only English is supported.
  296.  
  297.  - AUTO activates automatic operation starting.  SuperDuper will
  298. monitor the disk insertion and ejection.  When all destination(s) have
  299. been ejected and re-inserted, a GO operation is started.  If FORMAT is
  300. selected, the destination(s) are formatted.  Else, if a buffer is
  301. selected, it is written to the destination(s).  If neither formatting
  302. nor buffering is requested, SuperDuper will monitor the source, too,
  303. and will start a disk-to-disk(s) copy as soon as the source and all
  304. destination(s) have been ejected and re-inserted.
  305.  
  306.  - KILLSYS closes the Workbench, audio, and voice, flushes the memory
  307. and opens a very little screen with only two colors.  This way, the
  308. maximum amount of memory of your system is at your disposal.  If the
  309. Workbench can't be closed for any reason, a warning is issued (usually
  310. some application has a window opened on the Workbench screen).  When
  311. you want to get back, hit the gadget again (this time it will be named
  312. RESTORE).  This feature is very powerful if coupled with
  313. SDBootInstall.
  314.  
  315.  
  316.  
  317.                             SDBootInstall
  318.  
  319. When your system boots up (at power on or after a reset), the
  320. operating system searches for available drives, and creates some
  321. trackdisk.device tasks accordingly.  These tasks take a lot of memory
  322. for their buffers (>30K), but SuperDuper doesn't use them at all,
  323. because it has its internal routines.
  324.  
  325. If you have to do intensive copy work, and you have 1MB of memory or
  326. less, you could find it useful to boot up your system in a special
  327. configuration that will shut down almost all trackdisk.device tasks,
  328. thus freeing a lot of memory.
  329.  
  330. To accomplish this, do as follows:
  331.  
  332. 1) Make a copy of your usual Workbench 1.2 (or greater) disk (from now
  333. on we work on the copy).
  334.  
  335. 2) Delete some programs to make room---preferences, diskcopy and
  336. format are good candidates.
  337.  
  338. 3) Copy SuperDuper on the disk root directory (by dragging its icon on
  339. the disk icon or using the CLI).
  340.  
  341. 4) Edit the startup-sequence of the disk (it's in the "s" directory).
  342. Delete it entirely, and substitute it with
  343.  
  344. SetPatch >NIL:
  345. Run >NIL: <NIL: SD
  346. EndCLI >NIL:
  347.  
  348. If you're under 1.2, don't put in the first line (you don't have a
  349. SetPatch command).
  350.  
  351. 5) Now put the disk in df0:, and run the utility SDBootInstall.  A
  352. special bootblock will be installed on the floppy.  When booting from
  353. it, the operating system (and you) will be able to access only drive
  354. 0---the other ones will be for SuperDuper's use only.  To get back to
  355. normality, a reboot is necessary.  You will gain 3/4K per drive using
  356. this method (for techies:  it is perfectly legal---the bootblock
  357. simply AllocUnit()s the drives with ID>0).
  358.  
  359.  
  360.  
  361.  
  362.                       SuperDuper and your system
  363.  
  364. SuperDuper has been written keeping in mind that a good program
  365. doesn't have to eliminate everything from the system in order to work.
  366. The Amiga has a very efficient multitasking kernel which allows for
  367. resource arbitration.
  368.  
  369. When SuperDuper is started, it won't allocate anything from your
  370. system.  As soon as a source/destination gadget is clicked, it will
  371. inhibit all of the drives (so don't select a gadget while reading or
  372. writing to floppies) and then will grab the disk.resource.  Until the
  373. resource is released, *no one else* can access the Amiga drives.  This
  374. is necessary in order to avoid unpredictable collisions with the
  375. system or other programs.
  376.  
  377. If you need to temporarily access your drives, you must simply
  378. deselect all SuperDuper source/destination gadgets:  the disk system
  379. will be restarted (it will be re-grabbed on a gadget selection of
  380. course).  Under 1.3 you will have to eject all drives.  This is
  381. necessary because there is no way to tell trackdisk.device that the
  382. head position has changed.  For the same reason, when exiting from the
  383. program under 1.3, you will be asked to eject all disks.
  384.  
  385. The CPU use of SuperDuper is almost unnoticeable.  You can do anything
  386. else, and you shouldn't notice any slowdown.
  387.  
  388. This however is not true if you use compression.  In this case, not
  389. only the system will be slowed down (a priority 0 task will almost
  390. always be active), but *any* operation (including moving the mouse
  391. pointer) will slow down SuperDuper.
  392.  
  393. Under 2.0 this is not necessary.  Moreover, if you use KillClick (or
  394. any other utility which legally kills drive clicks under 2.0)
  395. SuperDuper won't click empty drives (drive clicking is necessary for
  396. monitoring the disk insertion; using KillClick is good but you must be
  397. sure your drives won't try to move past track 0 if asked to do so).
  398.  
  399. As I mentioned before, you should avoid running SuperDuper while a 16
  400. color hi-res screen (or a 4-color ECS productivity mode screen) is
  401. displayed.  The video DMA access will interfere with the
  402. disk/CPU/Blitter access to the point that copy times will drop to
  403. incredible values---reading and compressing a disk in the buffer can
  404. take more than 100s.
  405.  
  406.  
  407.  
  408.  
  409.                           SuperDuper and you
  410.  
  411. "Well," you could say, "SuperDuper is a great copier---but how can I
  412. trust him for making my copies?  This guy diddles with
  413. hardware---maybe I should use the system DiskCopy command."
  414.  
  415. This is not a good idea.  First of all, SuperDuper is *incredibly*
  416. picky about verifying.  You will get more verify error messages than
  417. with the standard copy commands (for techies:  SuperDuper verifies
  418. also the MFM timing bits, not only the data bits; this means a 200%
  419. efficiency improvement in catching verify errors and generally bad
  420. media).
  421.  
  422. Moreover, the 1.3 trackdisk.device has unpleasant side-effects on
  423. frequently read/written tracks.  These side-effects are cleared when
  424. you do a copy of the disk with SuperDuper (for techies:
  425. trackdisk.device doesn't check for MFM bits being read in correctly,
  426. and doesn't re-MFM the track before writing it; if a MFM timing bit is
  427. read wrong, it will stay wrong forever, possibly causing read errors;
  428. but SuperDuper re-MFMs every track it copies, thus restoring every MFM
  429. timing bit to its correct value).
  430.  
  431. Finally, if you don't like coffee-breaks during your copies, you'd
  432. better use the fastest copier available---namely SuperDuper.
  433.  
  434.  
  435.  
  436.  
  437.                       A word on copy protection
  438.  
  439. SuperDuper won't copy protected disks (or if it will it's just a
  440. coincidence).  I do not believe in copy protection.
  441.  
  442. However, SuperDuper will faithfully reproduce checksum errors on the
  443. source disk.  Thus, if you got the typical "Key <n> checksum error"
  444. you can make a copy of the disk before fixing it.  SuperDuper won't do
  445. any surgery:  use a good tool (such as DiskSalv or FixDisk) for that.
  446. Avoid DiskDoctor.
  447.  
  448.  
  449.  
  450.  
  451.                            Acknowledgments
  452.  
  453. The first person I must thank a thousand times is Dirk Reisig.  It was
  454. by means of his suggestions that I sped up SuperDuper to the current,
  455. amazing values.  I wrote him a letter which he answered gently with a
  456. long explanation of the optimizations performed by PCopy.  The first
  457. time I read the letter it seemed greek to me, but little by little I
  458. learned all the mysteries of MFM encoding and disk direct hardware
  459. driving.  Moreover, I learned from the source code of TrackSalve the
  460. usage of the blitter for MFM encoding and many other subtle things.
  461. In other words, without the help of Dirk you would have never seen
  462. anything after DFC5.
  463.  
  464. The second guy behind the birth of SuperDuper is Tom Rokicki.  He
  465. pushed me to write a substitute for TurboBackup, and overall suggested
  466. the main thing---that on the Amiga is possible to write many disks at
  467. the same time.  Without this trick, you could never do four
  468. non-verified copies in 37s.  Tom also tested all pre-whatever-
  469. greek-letter versions, always giving useful comments...  and risking
  470. the life of his drives 8^).  Moreover, I had time to work on
  471. SuperDuper because the AmigaTeX system is so incredibly efficient I
  472. got a lot of spare time while writing math papers...
  473.  
  474. Last but not least, Randell Jesup at Commodore drove me through the
  475. labyrinth of non-specified-specs, hardware quirks, strange behaviors,
  476. and system esoteric features.  Without his help SuperDuper could
  477. probably work...  but I wouldn't trust it for *my* copies 8^).
  478.  
  479. The name SuperDuper popped up during a rather intensive BIX
  480. discussion.  Many other names were proposed, but in the end I chose
  481. this one---it has symmetry, correctly defines the product and has a
  482. simple shortening (SD).  Thus, a thousand thanks to Kent Kalnasy and
  483. Dave Barrans for suggesting this name.
  484.  
  485. Many features were not my ideas.  An incredible number of BIX users
  486. came up with excellent suggestions, many of which were actually
  487. implemented.  Thanks to them you have support for buffering on any
  488. device (I never use RAD:  nor FMS:, so I didn't think it could be
  489. useful).  Moreover, Kenneth Pak-kin Wong provided the basic materials
  490. for the icon.
  491.  
  492. But, as always, the biggest *thanks* goes to the beta-testers of
  493. SuperDuper:  Dennis Atkin, Vittorio Calzolari, Jim Cooper, Doug
  494. Erdely, Charlie Fair, Blaine Gardner, Robert Jenks, John Jones, Kent
  495. Kalnasy, Robert Kesterson, Paul King, Randy Menzer, Linda Munson, Tom
  496. Rokicki, Sergio Ruocco, Reinhard Spisser, Jeff Todd, Carlo Todeschini,
  497. Michael Scott Velez and Marco Zandonasi.  Beta-testing a copier is
  498. different from anything else---if it doesn't work you won't get a
  499. marginally corrupted picture on your display:  rather, the Fish Disks
  500. it took an hour to copy could be unusable.  A special kind of patience
  501. is needed under these conditions 8^).
  502.  
  503.  
  504.  
  505. This program is copyrighted, but freely distributable.  This software
  506. is made available on an as-is basis; don't come to me if you destroy
  507. your entire Fish Disk library with it!  Of course, it was tested
  508. rather extensively before it was released...
  509.  
  510. Comments, complaints, desiderata are welcome.
  511.  
  512.  
  513.     Sebastiano Vigna
  514.     BIX: svigna
  515.     UUCP: ...{uunet|piramid|rutgers}!cbmvax!cbmehq!cbmita!sebamiga!seba
  516.     Via Valparaiso, 18
  517.     I-20144 Milano ITALY
  518.